【问题描述】
在给定文本中,查找和替换子文本。[大谦Excel,dqexcel点com]
【示例5-7】
本例使用的Excel文件的完整路径为“D:/Samples/ch05/01 查找和替换子文本/统一列数据的单位.xlsx”。该文件打开后如图5-7所示,要求将采购明细中的“公斤”和”kg”替换为”千克“。
图5-7 采购明细
- 编写下面的代码:
code.python
import pandas as pd
# 文件路径
filepath = "D:/Samples/ch05/01 查找和替换子文本/统一列数据的单位.xlsx"
# 使用pandas读取Excel文件的第一个工作表中前3行数据,索引列为第1列,引擎为"openpyxl"
df = pd.read_excel(filepath, sheet_name=0, index_col=0, nrows=3, engine="openpyxl")
# 将“公斤”和”kg”替换为”千克“,使用replace函数,传入字典进行多个值的替换
df.replace({"公斤": "千克", "kg": "千克"}, inplace=True)
# 打印输出替换后的DataFrame对象
print(df)
------------------------------------------
import pandas as pd
# 定义文件路径
file_path = r'D:/Samples/ch05/01 查找和替换子文本/统一列数据的单位.xlsx'
# 使用Pandas加载Excel文件
df = pd.read_excel(file_path, sheet_name=0, nrows=3, engine='openpyxl')
# 替换采购明细中的“公斤”和“kg”
df['采购明细'] = df['采购明细'].str.replace('公斤', '千克').str.replace('kg', '千克')
# 打印处理后的数据
print(df)
打开Python IDLE,新建一个脚本文件,将上面生成的代码复制进去,保存。运行脚本,在IDLE Shell窗口输出替换结果。
code.python
>>> == RESTART: D:/Samples/1.py =
采购明细
编号
1 大米:100千克,面粉:50千克,猪肉:30千克
2 大米:100千克,鱼:20千克,牛肉:50千克
3 面粉:100千克,油:30千克,萝卜:40千克